package com.example.kotlin_study.middle

/**
 * author: wu-meng
 * date  : 2023/8/3
 * desc  :
 */
class Mine {

    var str1: String = "test"
        get() = field
        set(value) {field = if (value.isNotEmpty()) value else "null"}

    var str2: String = ""
        get() = "随意怎么修改都不会改变"
        set(value) {field = if (value.isNotEmpty()) value else "null"}

}

class Test {

    // 当用var修饰时，必须为属性赋默认值，即使在用getter()的情况下，不过这样写出来，不管如何修改，其值都为123
    var test1: String = " "
        get() = "123"
        set(value) {field = value}

    // 用val修饰时，用getter()函数时，属性可以不赋默认值，但是不能有setter()函数
    val test2: String
        get() = "123"  // 等价于 val test2 = 123

}